﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IndignadoFramework.BackBone.Model;
using IndignadoFramework.DataAccessLayer.EntityModels;
using System.Data.Entity;
using System.Data.Objects;


namespace IndignadoFramework.BackBone.InternalServices.Implementacion
{
    public class UsuarioAdminServicesImpl:UsuarioAdminServices
    {


        public void addUsuario(UsuarioAdminModel u){

            UsuarioAdmin usuarioEntity = new UsuarioAdmin();
     
            AutoMapper.Mapper.CreateMap<UsuarioAdminModel, UsuarioAdmin>();
            usuarioEntity = AutoMapper.Mapper.Map(u, usuarioEntity);

            using (IndignadoFrameworkEntities context = new IndignadoFrameworkEntities()) {
                context.AddObject("UsuariosAdmin",usuarioEntity);
                context.SaveChanges();
            }
                        

        }

        public bool existUsuario(UsuarioAdminModel u)
        {
            UsuarioAdmin usuarioEntity = new UsuarioAdmin();

            AutoMapper.Mapper.CreateMap<UsuarioAdminModel, UsuarioAdmin>();
            usuarioEntity = AutoMapper.Mapper.Map(u, usuarioEntity);

            using (IndignadoFrameworkEntities context = new IndignadoFrameworkEntities())
            {
                ObjectQuery<UsuarioAdmin> query=  context.UsuariosAdmin;

                //IEnumerable<String> usuariosQuery = from usuario in "UsuarioAdmins" select usuario;

                foreach (UsuarioAdmin usuario in query)
                {
                    if ((usuario.UsuarioAdminNombre == u.UsuarioAdminNombre) && (usuario.UsuarioAdminPassword == u.UsuarioAdminPassword))
                    {
                        return true;
                    }
                }
                return false;
            }
        }
    
        public void getUsuarios() {}
    }
}
